<?php
/*****************************************************************
	functions.php: Этот файл содержит основные функции.
	Этот файл должен подключаться в начало страницы (include ()). 
	Преимущество - каждый файл будет иметь доступ ко всем функциям.
******************************************************************/

/*****************************************************************
	Функции относящиеся к действиям над пользователями
******************************************************************/

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Имя функции: checkLoggedIn($status)
Аргументы: $status - занчения "yes" или "no"
Задача: проверка нахождения пользователя в системе. 
Возвращает: Если если пользователь в системе - возвращает true, 
	иначе вызывает страницу входа в систему.
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
function checkLoggedIn($status) {
	switch($status) {
		// Если пользователь в системе:
		case "yes":
			if(!$_SESSION["loggedIn"]) {
				header("Location: login.php");
				exit;
			}
			break;

		// Если пользователь НЕ в системе:
		case "no":
			if($_SESSION["loggedIn"]) {
				header("Location: profile.php?".session_name()."=".session_id());
			}
			break;
	}
	// Возвращает true если все впорядке
	return true;
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Имя функции: checkPass($login, $password)
Аргументы: $login, $password
Задача: получает значения  логина и пароля из формы, заполненной 
	пользователем, и сверяет со строкой в базе данных.
Возвращает: Если строка существует, то возвращает строку, 
	иначе возвращает false
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
function checkPass($login, $password) {

	global $link;
	
	$query="SELECT login, password FROM users WHERE login='".$login."' and password='".$password."'";
	$result=mysql_query($query, $link)
		or die("Критическая ошибка при проверке пароля: ".mysql_error());

	// Если существует ТОЛЬКО одна строка
	if(mysql_num_rows($result)==1) {
		$row=mysql_fetch_array($result);
		return $row;
	}

	return false;
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Имя функции: cleanMemberSession($login, $password)
Аргументы: $login, $password
Задача: заполнение переменных сеанса. Требуется для проверки 
	пользователя на нахождении в системе, либо, например, для 
	изменения пароля.
Возвращает: -
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
function cleanMemberSession($login, $password) {
	$_SESSION["login"]=$login;
	$_SESSION["password"]=$password;
	$_SESSION["loggedIn"]=true;
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Имя функции: flushMemberSession()
Аргументы: -
Задача: функция удаляет существующую сессию - при выходе из системы
Возвращает: true
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
function flushMemberSession() {

	unset($_SESSION["login"]);
	unset($_SESSION["password"]);
	unset($_SESSION["loggedIn"]);

	session_destroy();

	return true;
} 

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Имя функции: newUser($login,$password,$email,..)
Аргументы: $login, $password, $email, $icq, $mobile, $skype, $vk,
	$name, $sex, $born, $team, $smoke, $photo
Задача: добавление нового пользователя в базу данных
Возвращает: true
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
function newUser($login,$password,$email,$icq,$mobile,$skype,$vk,$name,$sex,$born,$team,$smoke,$photo) {
	global $link;
	//Создание штампа времени регистрации пользователя в формате ГГГГММДДЧЧММСС
	$timestamp=date("YmdHis");
	
	$query="INSERT INTO users (login, password, email, icq, mobile, skype, vk, name, sex, born, team, smoke, photo, register)
	VALUES('$login', '$password', '$email', '$icq', '$mobile', '$skype', '$vk', '$name', '$sex', '$born', '$team', '$smoke', '$photo', '$timestamp')";
	$result=mysql_query($query, $link) or die("Не удалось. Ошибка: ".mysql_error());
	return true;
} 

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Имя функции: addCar($uid, $car_model, $car_num,...)
Аргументы: $uid, $car_model, $car_num, $car_colour, $expdr, $photo
Задача: добавление автомобиля пользователя
Возвращает: true
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
function addCar($uid, $car_model, $car_num, $car_colour, $expdr, $photo) {
	$query="INSERT INTO cars(uid, model, carnum, colour, expdr, photo) 
		VALUES ('".$uid."','".$car_model."','".$car_num."', '".$car_colour."', '".$expdr."', '".$photo."');";
	$result=mysql_query($query) or die("Не удалось. Ошибка: ".mysql_error());
	return true;
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Имя функции: getUserIdByName($login)
Аргументы: $login
Задача: получение ID пользователя по Логину
Возвращает: $user[id]
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
function getUserIdByLogin($login) {
	$r=mysql_query("SELECT * FROM users WHERE login='".$login."';");
	$user = mysql_fetch_array($r); // массив данных о пользователе
	return $user[id];
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Имя функции: getUserInfo($id, $field="")
Аргументы: $id, $field (необяз.)
Задача: если указано название поля, то возвращать значение поля
	иначе возвращать массив данных пользователя
Возвращает: $user[id] либо $user[]
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
function getUserInfo($id, $field="") {
	$r=mysql_query("SELECT * FROM users WHERE id='".$id."';");
	$user = mysql_fetch_array($r); // массив данных о пользователе
	if ($field) return $user[$field]; 
	else return $user; 
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Имя функции: getUserCarInfo($uid)
Аргументы: $uid
Задача: Если пользователь внес информацию о машине, то возвращать
	массив данных, иначе возвращать 0
Возвращает: $car[] либо 0
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
function getUserCarInfo($uid) {
	$r=mysql_query("SELECT * FROM cars WHERE uid='".$uid."';");
	$car = mysql_fetch_array($r); // массив данных о машине
	if (!$r) return 0;
	else return $car; 
}

/*****************************************************************
	Функции относящиеся к действиям над сообщениями
******************************************************************/

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Имя функции: getMessageById($mid)
Аргументы: $mid
Задача: получение массива данных о сообщении с ID равным $mid
	Если сообщение читается первый раз, то отметить как прочитанное
Возвращает: $mess
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

function getMessageById($mid) {
	$r=mysql_query("SELECT * FROM messages WHERE id='".$mid."';");
	$mess = mysql_fetch_array($r);
	if ($mess[status]==0) {
		mysql_query("UPDATE messages SET status = 1 WHERE id='".$mid."';");
	}
	return $mess;
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Имя функции: getMessageCountByField($field, $value, $status=1)
Аргументы: $field, $value, $status (необяз.)
Задача: получение колличества сообщений, удовлетворяющим некоторым 
	условиям. Status - статус сообщений (прочитанных(1), 
	не прочитанные(0), все(-1))
Возвращает: $count
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
function getMessageCountByField($field, $value, $status=-1) {
	if ($status>=0)
		$r=mysql_query("SELECT * FROM messages WHERE ".$field."='".$value."' AND status='".$status."';");
	else 
		$r=mysql_query("SELECT * FROM messages WHERE ".$field."='".$value."';");
	if (!$r) $count=0;
	else $count=mysql_num_rows($r);
	return $count;
}

/*****************************************************************
	Функции относящиеся к действиям над точками/треками
******************************************************************/

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Имя функции: getPointById($pid)
Аргументы: $pid
Задача: получение массива данных о точке с ID равным $pid
Возвращает: $point[]
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
function getPointById($pid) {
	$r=mysql_query("SELECT * FROM markers WHERE id='".$pid."'");
	$point=mysql_fetch_array($r);
	return $point;
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Имя функции: getTargetTracks($lat1,$lng1,$lat2,$lng2,$rad1,$rad2)
Аргументы: $lat1, $lng1, $lat2, $lng2, $rad1, $rad2
Задача: Получение полезных путей по координатам и радиусам 
	2ух точек
Возвращает: -
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

function getTargetTracks($lat1,$lng1,$lat2,$lng2,$rad1,$rad2,$userdate) {
	$points_near1="SELECT tid FROM markers WHERE (".$rad1." > SQRT(POWER(($lat1-lat),2)+POWER(($lng1-lng),2)))";
	$points_near2="SELECT tid FROM markers WHERE (".$rad2." > SQRT(POWER(($lat2-lat),2)+POWER(($lng2-lng),2)))";
	$r="SELECT * FROM tracks WHERE id IN($points_near1 UNION $points_near2) AND (
	($userdate  -  UNIX_TIMESTAMP(`date`) )
	 % (period*86400) = 0) AND ($userdate  >= UNIX_TIMESTAMP(`date`)) ;";
	$tracks=mysql_query($r);
	/*if($tracks){
	echo mysql_num_rows($tracks);
	}
	//echo $result;*/
	echo $r;
    return $tracks;
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Имя функции: getTargetTracksByPointsId($pid1, $pid2, $rad1, $rad2)
Аргументы: $pid1, $pid2, $rad1, $rad2
Задача: Получение полезных путей по ИД точек и радиусам	2ух точек
Возвращает: getTargetTracks()
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

function getTargetTracksByPointsId($pid1, $pid2, $rad1, $rad2) {
	$point1=getPointById($pid1);
	$point2=getPointById($pid2);
	return getTargetTracks($point1[lat],$point1[lng],$point2[lat],$point2[lng],$rad1,$rad2);
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Имя функции: getNearestPoints($pid, $rad, $mode)
Аргументы: $pid, $rad, $mode
Задача: -----
Возвращает: $query
DEBUG: НАДО РАЗБИРАТЬСЯ + ПРИЧЕСЫВАТЬ КОД.
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

function getNearestPoints($point_id,$rad,$mode){
	//Запрашиваем параметры данной точки
	$q_result=mysql_query("SELECT * FROM markers WHERE id='".$point_id."'");
	$point=mysql_fetch_array($q_result);

	switch($mode) // переключающее выражение
	{
		case "finish": // константное выражение 
			echo "fin";
			//$query=mysql_query("SELECT id,lat,lng,MAX(status) FROM markers WHERE ((".$rad." > SQRT(POWER(($point[lat]-lat),2)+POWER(($point[lng]-lng),2))) 	)ORDER BY status ASC GROUP BY tid ");
			$sql=("SELECT id,tid,status,is_edge FROM markers WHERE is_edge = 1 AND (".$rad." > SQRT(POWER(($point[lat]-lat),2)+POWER(($point[lng]-lng),2))) ");

			$sql2=("SELECT * FROM tracks WHERE tid IN(SELECT tid FROM markers WHERE is_edge = 1 AND (".$rad." > SQRT(POWER(($point[lat]-lat),2)+POWER(($point[lng]-lng),2))))");
			echo $sql;
			$query = mysql_query($sql2);

			// блок операторов
			break;
		case "start": // константное выражение 
			$query=mysql_query("SELECT id,lat,lng,status FROM markers WHERE ((".$rad." > SQRT(POWER(($point[lat]-lat),2)+POWER(($point[lng]-lng),2))) AND (status = 0)");
			break;
		default:
			$query=mysql_query("SELECT id,lat,lng,status FROM markers WHERE (".$rad." > SQRT(POWER(($point[lat]-lat),2)+POWER(($point[lng]-lng),2))) ");

	}

	return $query;

}

/*****************************************************************
	Функции относящиеся к действиям с выводом информации
******************************************************************/

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Имя функции: printTracks($r)
Аргументы: $r (SQL-выборка)
Задача: Вывод треков на экран
Возвращает: -
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

function printTracks($r) {

// Общее колличество строк в SQL-выборке
if ($r) $total = mysql_num_rows($r);
$addr = addr();
if ($total) {
//echo $scripts;
echo "
<center><table class=b>
<tr><td width=15></td>
<td class=up width=40>Никнейм</td>
<td class=up width=100>Описание</td>
<td class=up width=80>Длина</td>
<td class=up width=80>Дата</td>
<td class=up width=110>Отправка</td>
<td class=up width=110>Прибытие</td>
</tr>";
for ($i=0; $i<$total; $i++) {
$track = mysql_fetch_array($r);
echo "<tr>
<td class=n><img src='".$addr."images/resp_green.gif' 
onclick=\"window.open ('".$addr."gmaps2/display.php?tid=".$track[id]."',
'1','location=0,status=0,scrollbars=0, width=730,height=530');\"></td>
<td class=n><a href='".$addr."profile.php?id=$track[uid]'>".getUserInfo($track[uid],"login")."</a></td>
<td class=n>".change(sample, $track[about])."</td>
<td class=n>".$track[dist]." км</td>
<td class=n>".change(date, $track[date])." (".$track[period].")</td> 
<td class=n>".change(time, $track[start])." ± ".$track[plstart]." мин</td>
<td class=n>".change(time, $track[stop])." ± ".$track[plstop]." мин</td>
</tr>";
}
echo "<tr><td colspan=7 class=bot>Всего треков: <b>".$total."</b></td></tr></table></center>";
}
else {
echo "<br>Треки отсутствуют";
} 
} 

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Имя функции: printCar($uid)
Аргументы: $uid
Задача: Вывод информации о машине пользователя с ID=$uid
Возвращает: -
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

function printCar($uid) {
	
	$car = getUserCarInfo($uid); // Получаем массив данных

	if ($car) {
		echo "	

<table width=100%>
			<tr><td width=200><img width=200 src='cars/".change(photo, $car[photo])."'></td>
			<th class='l' rowspan=2><center>
				<table>
				<tr>
					<td width=180 class='b'><img src='images/p.png'> <b>Марка/модель</b></td>
					<td width=200 class='b'>".$car[model]."</td>
				</tr>
				<tr>
					<td class='b'><img src='images/p.png'> <b>Часть номера</b></td>
					<td class='b'>*".$car[carnum]."**</td>
				</tr>
				<tr>
					<td class='b'><img src='images/p.png'> <b>Цвет</b></td>
					<td class='b'><div style='width: 100px; heght:100px; background:".$car[colour]."'>".$car[colour]."</div></td>
				</tr>
				<tr>
					<td class='b'><img src='images/p.png'> <b>Стаж вождения</b></td>
					<td class='b'>".change(expdr, $car[expdr])."</td>
				</tr>
				</table>
			</center></th></tr>
		</table>";
	}
	else {
		echo "<br>Информация о машине отсутствует";
		if ($uid == getUserIdByLogin($_SESSION["login"])) echo "<br><a href='car_add.php'>Добавить информацию</a>";
	}
}

/*****************************************************************
						Служебные функции 
******************************************************************/

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Имя функции: connectToDB()
Аргументы: -
Задача: Подключение к БД. Все параметры берутся из config.php
Возвращает: -
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
function connectToDB() {
	
	global $link, $dbhost, $dbuser, $dbpass, $dbname;
	
	($link = mysql_pconnect("$dbhost", "$dbuser", "$dbpass")) || die("Не получается подключиться к MySQL");
	mysql_query("set names utf8");
	mysql_query("set settings utf8");
	
	//Выбор базы данных:
	mysql_select_db("$dbname", $link) || die("Нельзя открыть базу данных: $dbname. Ошибка: ".mysql_error() );
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Имя функции: change ($what, $currentvalue, $extra='')
Аргументы: $what, $currentvalue, $extra (необяз.)
Задача: производит замену значений из базы данных на 
	соответствующий им эквивалент
Возвращает: -
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

function change ($what, $currentvalue, $extra=0)
{
	$none="<i>N/A</i>";
	switch ($what) {
		case 'sample':                             // шаблон для некоторы
			if (!$currentvalue) return $none;
			else return $currentvalue;
			break;
		case 'photo':
			  if ($currentvalue == '') return "default.png";
			  else return $currentvalue;
			  break;
		case 'sex':
			if ($currentvalue == 'm') return "Мужской";
			else if ($currentvalue == 'w') return "Женский";
			else return $none;
			break;
		case 'vk':
			if ($currentvalue == 0) return $none;
			else return "<a href='http://vkontakte.ru/id$currentvalue'>id$currentvalue</a>";
			break;
		case 'date':
			if ($currentvalue == '0000-00-00') return $none;
			else return $currentvalue;
			break;
		case 'time':
			if ($currentvalue == '00:00:00') return $none;
			else return substr($currentvalue, 0, 5);
			break;
		case 'cut':
			if (iconv_strlen($currentvalue, 'UTF-8') > $extra) {
				$value = iconv_substr($currentvalue, 0, $extra, 'UTF-8');
				$value .= "..";
				return $value;
			}
			else return $currentvalue;
			break;
		case 'team':
			if ($currentvalue == 0) return $none;
			else if ($currentvalue == 1) return "Пассажир";
			else if ($currentvalue == 2) return "Водитель";
			else if ($currentvalue == 3) return "Совместно";
			else if ($currentvalue == 4) return "Модератор";
			else if ($currentvalue == 4) return "Администратор";
			break;
		case 'expdr':                             // шаблон для некоторы
			$years = (int)($currentvalue/12);
			$months = $currentvalue%12;
			if ($currentvalue && $years >= 1 && $years < 5) {
				$result = $years." год(а) и ".$months." месяц(а/ев)";
				return $result;
			} else if ($currentvalue && $years >=5) {
				$result = $years." лет и ".$months." месяц(а/ев)";
				return $result;
			}
			else return $none;
			break;
		default:
			return $currentvalue;
	}
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Имя функции: addr()
Аргументы: -
Задача: для устранения бага с вложенными папками.
Возвращает: уровень вложенности ("../" или "../../")
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

function addr() {
	$addr = $_SERVER['REQUEST_URI'];
	$count = substr_count($addr,"/"); // возвращает количество "/"
	for ($i=1; $i<$count; $i++) $a .="../";
	return $a;
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Имя функции: displayErrors($mode, $messages, $width)
Аргументы: $mode, $messages = "Неизвестная ошибка", $width="100%"
Задача: вывод ошибок на экран
Возвращает: -
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
function displayErrors($mode, $messages = "Неизвестная ошибка", $width="100%") {
	$addr=addr();
	echo "<table width=".$width."><tr><td class=error></td><td class=disperror>";
	switch($mode){
		case "form":
			print("Выявлены следующие ошибки при заполнении формы:\n<ul>\n");
			foreach($messages as $msg) {
				print("<li> $msg </li>\n");
			}
			print("</ul>\n");
			break;
		case "simp":
			print("$messages\n");
			break;
		case "login":
			$message = "Вам нужно сначала <a href='".$addr."login.php'>войти</a>.";
			print("$message\n");
			break;
		default:
			print("$messages\n");
			break;
	}
	print("</td></tr></table>\n");
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Имя функции: doCSS($dir)
Аргументы: $dir
Задача: подгрузка файла с каскадными таблицами стилей (CSS)
	Таблица стилей хранится в отдельном файле - style.css
Возвращает: -
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

 function doCSS() {
	$addr=addr();
	echo "<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>";
	echo "<link rel='stylesheet' type='text/css' href='".$addr."style.css' />";
	$head = $addr."header.php";
	include_once ($head);
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Имя функции: field_validator($field_descr, $field_data, $field_type, 
	$min_length="", $max_length="", $field_required=1)
Аргументы: $field_descr, $field_data, $field_type, 	$min_length="", 
	$max_length="", $field_required=1 (необяз.)
Задача: валидация полей ввода на момент ошибок ввода. Определены 
	различные виды регулярных выражений, также указывается min и
	max длина значения. 
Возвращает: 0
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
function field_validator($field_descr, $field_data, $field_type, $min_length="", $max_length="", $field_required=1) {

	// Глобальный массив с ошибками
	global $messages;

	// Сперва, когда поля пусты, просто пропустить функцию
	if(!$field_data && !$field_required){ return; }

	// Инициализация флага успешной валидации (по умолчанию false)
	$field_ok=false;

	// Регулярное выражение для e-mail
	$email_regexp="^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|";
	$email_regexp.="(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$";

	// Массив регулярных выражений для разных типов данных
	$data_types=array(
		"email"=>$email_regexp,
		"digit"=>"^[0-9]$",
		"number"=>"^[0-9]+$",
		"mobile"=>"^[0-9-]+$",
		"alpha"=>"^[a-zA-Z]+$",
		"alpha_space"=>"^[a-zA-Z ]+$",
		"alphanumeric"=>"^[a-zA-Z0-9]+$",
		"alphanumeric_space"=>"^[a-zA-Z0-9 ]+$",
		"string"=>""
		);

		if ($field_required && empty($field_data)) {
			$messages[] = "Пожалуйста, заполните поле '$field_descr'.";
			return;
		}

		if ($field_type == "string") {
			$field_ok = true;
		} else {
			$field_ok = ereg($data_types[$field_type], $field_data);
		}

		if (!$field_ok) {
			$messages[] = "Пожалуйста поправьте поле '$field_descr'.";
			return;
		}

		if ($field_ok && $min_length) {
			if (strlen($field_data) < $min_length) {
				$messages[] = "В поле '$field_descr' необходимо использовать минимум $min_length символов.";
				return;
			}
		}

		if ($field_ok && $max_length) {
			if (strlen($field_data) > $max_length) {
				$messages[] = "В поле '$field_descr' можно использовать максимум $max_length символов.";
				return;
			}
		}
}

function insertKey() {
	$Domain = $_SERVER['HTTP_HOST'];
	$gtiKey="ABQIAAAA_maggq0LMuIxj4yzzorZeRQrDgwWM6GFG1s4i9CocRUuJEh-9xT5atYN-D-LKvBjUDtWb4Okbta5EA";
	$kuperKey="ABQIAAAA7Z7dld82s76VvfA-9YYpQRTWIHxga1_ELg7hSp4rU-2bga0rJxTRhypnTp43Sphh50_JQoxbU4GDzw";
	$test="ABQIAAAA7Z7dld82s76VvfA-9YYpQRRIvdF9IiVHMNnywItpRKEW_amGFBTgSuYZU63yU11eWGaZ4DjnQk11Gw";
	$freehostia="ABQIAAAA_maggq0LMuIxj4yzzorZeRR1AtSwkjD-4s92l0ZigdSoHEiGvxRlvxnQiWrYHKIZVA3nNnvZtRUIRg";
	if ($Domain=="gtix.homeftp.org") return $gtiKey;
	else if ($Domain=="www.sb") return $kuperKey;
	else if ($Domain=="surfbird.freehostia.com") return $freehostia;
}

?>